#ifndef _CONTROLLER_H__
#define _CONTROLLER_H__
#include "foc.h"

/* 控制模式定义 */
#define CTRL_MODE_OPEN                 ((u8)0U)
#define CTRL_MODE_VELOCITY             ((u8)1U)
#define CTRL_MODE_TORQUE               ((u8)2U)
#define CTRL_MODE_CURRENT              ((u8)3U)
#define CTRL_MODE_EBRAKE               ((u8)4U)

typedef struct {
    foc_t foc;
    u8    mode_req;
    u8    mode_running;
    float encoder_angle;
    float encoder_velocity;
    float  phase_curr[3];
    albt_t curr_albt_real;
}controller_t;

void contrl_init(controller_t *ctrl);
void contrl_adc_update(controller_t *ctrl);
#endif /* _CONTROLLER_H__ */

